The Wire Setup View is the area within thinkingParticles where you will
connect all of the various operators and conditions together in order
to create a particle animation.
This view will show the currently selected DynamicSets container, so that
you can enter operators and conditions within it. As you add operators
from the Create rollouts to a DynamicSets, they will also appear within
the DynamicSet Tree View
as well. Be aware that the order in which you add the operators will affect
the final particle animation. For more information on how to read the
DynamicSet Tree View, go HERE.
As the number of operators increases, you'll find that thinkingParticles
provides you with more visual feedback on what kinds of nodes you are
working with. All Operators have an O: at the beginning
of their name while Conditions can be identified by a C:
at the beginning of their name. Logically, the helper objects start with
an H: as a prefix of their name. Finally, BlackBoxes
will show up with a D: as they are identified as saved
DynamicSetss that are being reused. For more information on BlackBoxes,
go HERE.
Once you've added operators and conditions to your DynamicSetss, you will
then use the Input and Output Data Streams to tell thinkingParticles how
the various operators and conditions inter-relate to one another.
DynamicSets with 5 operators wired together
As you add operators, conditions, helpers or groups to your DynamicSets
in the Wire Setup View, you will notice that they will have several Input
and/or Output data streams.

Typical Operator in thinkingParticles
The Input Data Streams on all operators within thinkingParticles
are found along the left-side of the operator, under the light blue box.
These streams represent the values that can be sent (or "piped")
into the operator. Many times, values that can be set from within the
Parameter Rollouts can be overridden by data that is generated from other
parts of your particle animation and piped in through these ports.
Likewise, Output Data Streams are found along the right-hand
side of the operator, under the darker blue box. These streams represent
the values (or data) that can be sent out to other operators and conditions
to use. In most cases, the Output Data Streams will carry information
about a particular event, condition, rule or object to another set of
rules to further act upon.
NOTE: Be aware that not all operators within thinkingParticles
have Output Data Streams. Some operators have only inputs.
By default, operators and conditions come into the Wire Setup View show
only the most commonly used Input and Output
Data Streams. Be aware that simply because additional streams are not
visible, it does not mean that they are not available. If you find yourself
in need of a particular data stream that is not immediately visible, you
can do several things to show them.
You can right-click on the small Input and Output boxes at the top of the operator. This will result in a list pop-up that displays the currently available as shown below:

All Input Data Streams that are currently visible will show up with a small
checkmark next to them, and the others are simply listed (as shown above).
If a data stream is already connected to another operator, the name will
also show a greater than symbol ('>') to indicate that it is in use.
All you have to do to make an additional data stream visible is click
on it within this list. So for the example above, clicking on the Radius
1 Stream will result in the operator looking like this:

You now have easy access to the new Input Data Stream.
Another way to get access to ALL of the Input and Output Data Streams is to right-click on the name of the operator in the Wire Setup View. This will bring up a node control panel, and from it, you can choose Visible All.

This has the result of making all of the various Input and Output Data
Streams visible at once. For someone who is new to thinkingParticles,
this is an easy way to check what an operator offers. Of course, you have
to be careful when using this feature. Some operators have a LOT of data
streams and you will have to wade through them all after you've done this.
A good rule of thumb is to make use of this manual first. The reference
section for each operator shows you all of the Input and Output Data Streams,
so this is also a good way to become familiar with the various connection
ports you have available.
Connecting the various Input and Output Data Streams between operators
is a very simple process.
You can simply click on the Output Data Stream name and left-click drag
with your mouse. A rubber band line will appear and can then be placed
over another input port. When you release the left-mouse button, a connection
will be made.
To remove a connection between nodes, you can simply hold down the Shift-key
and left-click on the Input or Output data stream, and the connection
will be immediately removed.
When it comes to connecting Input and Output Data Streams, the first
thing to understand is that each individual Input Data Stream within an
operator will require a specific type of Output data to connect to it.
In order to connect the data streams, you need to match up like inputs
and outputs. For example, you can feed a Particle output into a Particle
input, but you can't feed a Rotation output into a Position input. While
some conversion can be done, such as converting a Vector output to a Position
input, you must be careful as to what you connect. In an effort to help
you, thinkingParticles provides visual feedback for you in two ways.
First, if you hover your cursor over an Input or Output data stream, you
will be shown the data stream type within a small pop-up window.

In the example above, by hovering the mouse over the Birth Type Input Data
Stream, you can see that the data type it can have piped into it is an
Integer (shown in brackets). Each Input and Output Data Stream will provide
you with this valuable information.
Second, as you drag wires between nodes, valid connection points will become
highlighted as shown below.

Input Data Streams show which are compatible with a Float Helper
As you can see, any acceptable connections will highlight to let you know
that you can take one data type and connect it to another operator. So
in the example above, both the On and Size Input Data Streams can take
the Float Helper's Value Output Data Stream. Illegal or impossible connections
will be rejected automatically by thinkingParticles so you don't have
to worry about odd connections with mismatched data types.
Important:
In many situations Data types will be converted automatically so that a
connection makes sense in the matter of an evaluation for thinkingParticles.
However, connecting a Color to a Particle Input is not making much sense
from a logic standpoint.
When you first create a new DynamicSets, within the Wire Setup View
you will see that there is a large red button at the top of the view that
says Invalid on it. What this means is that currently,
this DynamicSets either has a problem with the operators contained within
it, or that it contains no operators at all.
In order to be evaluated by thinkingParticles, every DynamicSets must
be checked and validated before it can be interpreted. Since a DynamicSets
is nothing more than a collection of rules and operators, like any other
programming language thinkingParticles needs to collect and access all
of its data before the interpreter starts analyzing it. This means, you
must supply every bit of data that an operator or a condition needs in
order to function properly.
Now some operators have required inputs. In these cases, the Input Data
Streams will automatically highlight in yellow when they
are created. If you do NOT connect an appropriate Output Data Stream to
the highlighted Input Data Stream, the DynamicSets will remain Invalid
and will not be processed when the particle animation is generated. This
can lead to unexpected results.
As can be seen above, the Group Operator contains a required Input Data
Stream called Particle. Without this particle data stream
the particle Group Operator cannot function. Without it, thinkingParticles
has no way of knowing how to work with this set of rules, and as a result,
the DynamicSets that contains it will become Invalid until it is connected.

Once the Particle Input Data Stream receives the data type it requires,
the entire DynamicSets becomes Valid. Valid DynamicSetss
are able to be interpreted by thinkingParticles and used to create particle
animation within your scene.
Now that you have a bit of an understanding of how to the Wire Setup
View functions, it's time to move onto the Create Rollouts.
It is here that you select the various Groups, Conditions, Operators and
Helpers that will be used to create your particle animation.
While it is highly recommended that you go through the Introduction material
in order, if you prefer you can click on any of the topics that interest
you.